
package com.be.beadmin.quality.service;

import com.be.beadmin.basicData.entity.User;
import com.be.beadmin.common.entity.PageEntity;
import com.be.beadmin.product.entity.WorkOrderInfor;
import com.be.beadmin.project.entity.ProductInfo;
import com.be.beadmin.quality.dto.input.ProductQualityDto;
import com.be.beadmin.quality.dto.output.InspectionStandardEx;
import com.be.beadmin.quality.dto.output.ProductQualityEx;
import com.be.beadmin.quality.dto.output.ProductQualityInspectionAllInfoEx;
import com.be.beadmin.quality.dto.output.ProductQualityInspectionByPage;
import com.be.beadmin.quality.entity.ProductQuality;
import com.be.beadmin.quality.entity.ProductQualityInspection;
import org.springframework.data.domain.Page;

import java.util.List;

/**
* @description 服务接口
* @author zjm
* @date 2023-05-16
**/
public interface ProductQualityService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<ProductQualityEx> getProductQualityByPage(PageEntity pageEntity);

    /**
    * @param productQualityDto
    */
    void addProductQuality(ProductQualityDto productQualityDto);

    void addProductQualityByWos(List<WorkOrderInfor> workOrderInforList);

    /**
    * @param productQualityDto
    */
    void updateProductQuality(ProductQualityDto productQualityDto);

    /**
    * @param id
    */
    void delProductQuality(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delProductQualitys (List<String> ids);

    List<User> getQualityTeamMembers(String projectId);

    List<InspectionStandardEx> getInspectionStandard();

    ProductQualityInspectionAllInfoEx getProductQualityInspectionAllInfoByProductQualityId(String productQualityId);

    /**
     * 根据柜体code获取入厂检验
     * @param productCode
     * @return
     */
    List<ProductQuality> getProductQualityByBatchProduct(String productCode);

    Page<ProductQualityInspection> getProductQualityInspectionByPage(ProductQualityInspectionByPage pageEntity);
}